﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<string>
//#include<iostream>
//using namespace std;
////打印函数模板
//template <class P>
//void Print(P arr[], int n)
//{
//	for (int i = 0; i < n; i++)
//	{
//		cout << arr[i] << " ";
//	}
//	cout << endl;
//}
////交换函数模板函数
//template <class S>
//void Swap(S& x, S& y)
//{
//	S temp = x;
//	x = y;
//	y = temp;
//}
////排序算法模板
//template <class T>
//void selectSort(T arr[], int n)
//{
//	for (int i = 0; i < n; i++)
//	{
//		int max = i;//认定max位置处的值为最大值
//		for (int j = i + 1; j < n; j++)
//		{
//			if (arr[max] < arr[j])//当max位置的值小于j位置处的值时，更新max
//			{
//				max = j;
//			}
//		}
//		//当max发生改变时
//		if (max != i)
//		{
//			Swap(arr[max], arr[i]);
//		}
//	}
//}
////测试char 类型数组
////void test()
////{
////	char arr[] = "acsfsg";
////	selectSort(arr,sizeof(arr)/sizeof(arr[0]));
////	Print(arr, sizeof(arr) / sizeof(arr[0]));
////}
//void test1()
//{
//	int arr[] = { 1,2,6,4,3,8, };
//	selectSort(arr,sizeof(arr)/sizeof(arr[0]));
//	Print(arr, sizeof(arr) / sizeof(arr[0]));
//}
//int main()
//{
//	test1();
//	return 0;
//}